// instanceof运算符的第一个参数是一个对象,第二个参数一般是一个函数
// instanceof的判断规则是: 沿着对象的__proto__这条链来向上查找找,如果能找到函数的prototype则返回true,否则 返回false
/** 简而言之,第一个参数对象只要通过__proto__往上查,能碰到第二个参数的prototype就为true*/

function P(){}
let p = new P();
console.log(p instanceof P); // true
console.log(p instanceof Object); // true
console.log(p instanceof Function); // false 只有当p是函数(new Function创建的都是特殊的函数对象)时才会为true 而这里的p显然不是函数
